#include "FLOW_core/flow_core_pch.h"

namespace CORE
{
	//-------------------------------------------------------------------------
	CRefCounted::CRefCounted( ) : m_ref_count( 0 )
	{
	}

	//-------------------------------------------------------------------------
	CRefCounted::CRefCounted( const CRefCounted& ar_ref_counted ) : m_ref_count( 0 )
	{
		//Do not copy the reference count, we will be creating ghost references
	}

	//-------------------------------------------------------------------------
	CRefCounted::~CRefCounted( )
	{
	}

	//-------------------------------------------------------------------------
	void CRefCounted::AddRef( void )
	{
		++m_ref_count;
	}

	//-------------------------------------------------------------------------
	void CRefCounted::DecRef( void )
	{
		--m_ref_count;
	}

	//-------------------------------------------------------------------------
	u32_t CRefCounted::GetRefCount( void ) const
	{
		return m_ref_count;
	}

	//-------------------------------------------------------------------------
	CRefCounted& CRefCounted::operator = ( const CRefCounted& ar_ref_counted )
	{
		//Do not copy the reference count, we will be creating ghost references
		return *this;
	}
} //namespace CORE